"""
@Author  : 康帅
@Time    : 2021/3/26 13:55
@Function: 适配模式基类
"""
from abc import ABCMeta, abstractmethod


class Target(metaclass=ABCMeta):
    """
    目标类:
        期望的目标接口，要转换成的接口
    """

    @abstractmethod
    def function(self):
        pass


class Adaptee:
    """
    源对象类:
        要被转换的角色，要把谁转换成目标角色
    """

    def specific_function(self):
        print("被适配对象的特殊功能")


class Adapter(Adaptee, Target):
    """
    适配器:
        适配模式的核心角色，负责把源对象转换和包装成目标对象
    """

    def function(self):
        print("进行功能的转换")
